// ● 使用列表：查改增删
// ○ 查询列表长度
// ○ 查询指定的元素
// ○ 修改：列表[索引] = 新值
// ○ 新增：列表.add(新元素)、列表.addAll(新列表)
// ○ 指定位置添加：列表.insert(索引, 内容');
// ○ 删除：使用元素删除、使用索引删除
// ○ 遍历列表：读取出列表中每一个元素
void main() {
  List names = ['张三', '李四', '王五', '赵六', '田七'];
  print(names);
  // 查询列表长度
  print('列表长度: ${names.length}');
  // 查询指定的元素
  print('列表中第一个元素: ${names[0]}');
  print('列表中最后一个个元素: ${names[names.length - 1]}');
  print('列表中的第一个元素: ${names.first}');
  print('列表中的最后一个元素: ${names.last}');
  // 修改 列表[索引] = 新值
  names[0] = '小明';
  print(names);
  // 新增: 列表.add(新元素)、列表.addAll(新列表)
  names.add('王八'); //只能添加一个元素
  names.addAll(['小白', '小黑']); //添加多个元素
  print(names);
  //指定位置添加：列表.insert(索引, 内容');
  names.insert(2, '小红');
  print(names);
  // 删除：使用元素删除、使用索引删除
  bool res = names.remove('小黑');
  print(names);
  print(res ? '删除成功' : '删除失败');

  names.removeAt(names.length - 1);
  print('删除最后一项$names');
  names.removeRange(0, 3);
  print('removeRange(0,3)$names');
  // 遍历列表：读取出列表中每一个元素
  // 写法一：
  names.forEach((item) => print('遍历的结果:$item'));
  print('--------------');
  // 写法二：
  names.forEach((item) {
    print('遍历的结果:$item');
  });
  // 随机排序(洗牌)
  names.shuffle();
  print('洗牌的结果:$names');
}
